package com.csb.service;

import com.csb.pojo.Apply;
import com.csb.pojo.AssetInfo;
import com.csb.pojo.AssetTypesRate;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface AssetService {
    // 获取本页的固定资产信息
    List<AssetInfo> getAssetInfoWithPage(Map<String, Object> cond);

    // 获取本次查询的总资产数
    int getAssetCount(Map<String, Object> cond);

    // 添加信息前名称的验证
    boolean ifExistsAsId(String asId);

    // 添加资产信息
    boolean saveAssetInfo(AssetInfo assetInfo);

    // 根据资产内部编号,将资产信息设置为故障
    boolean delAssetInfo(AssetInfo assetInfo);

    // 根据资产内部编号,修改资产信息
    boolean modifyAssetInfo(AssetInfo assetInfo);

    // 根据资产内部编号,将资产信息批量设置为故障
    boolean batchDelAssetInfo(String[] ids, AssetInfo assetInfo);

    // 将资产折旧
    boolean depreciation(int assetAsstateWorthless);

    // 获取不可用资产一览
    List<Apply> getWorthLessAssetList(int assetAsstateWorthless, int assetIsBreakYes);

    // 获取资产占比
    List<AssetTypesRate> getAssetTypesRate();

    boolean maintainAssetInfo(AssetInfo assetInfo);

    List<AssetInfo> getAssetInfo(@Param("account") String account);
}
